package com.ross.mode.one;

import com.ross.mode.User;
import lombok.extern.slf4j.Slf4j;

/**
 * @version 1.0.0
 * @className: Proxy
 * @description: 代理主题类，实现了抽象主题接口
 * @author: zhangjunfa
 * @date: 2023/8/29 9:24
 */
@Slf4j
public class Proxy implements Subject {
    /**
     * 真实的类，程序猿工作
     */
    private UserWork userWork;

    /**
     * 构造器
     *
     * @param userWork
     */
    public Proxy(UserWork userWork) {
        this.userWork = userWork;
    }

    /**
     * 程序猿工作类
     */
    @Override
    public void work() {
        log.info("在调用真实的主题类之前，把5W的码字工作分给 张三。。。。{}", new User(1L, "张三", "疯狂码字"));

        // <只会写Bug的程序猿> 在努力的工作。。。。。。。。。
        // 这个地方就是 真实的主题类。就是我这只程序猿。我要做的就是真实的业务逻辑。（就是码字10W）
        userWork.work();

        log.info("在调用真实的主题类之后，又把5W的码字工作分给 李四。。。。{}",new User(4L,"李四","疯狂码字"));
    }
}
